﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ivy.Common.Framework.Base;
using System.Runtime.Serialization;

namespace Ivy.SiteAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class ContentStatistics
    {
        #region  Variable & constant
        Int32 lContentKey = -1;
        
        string lContentCode = string.Empty;
        string lContentName = string.Empty;
        string lContentMetaTagKeyword = string.Empty;
        string lContentMetaTagDescription = string.Empty;
        string lContentHtmlData = string.Empty;
        Int32 lContentTypeKey = -1;
        string lContentTypeCode = string.Empty;
        string lContentTypeName = string.Empty;
        Int32 lContentTotalDownloads = 0;
        Int32 lContentTotalLikes = 0;
        Int32 lContentTotalViews = 0;
        DateTime lSys_DateOfCreation = DateTime.Now;
        string lSys_CreatedByID = string.Empty;

        Int32 lAvrageRating = 0;
        Int32 lTotalVotes = 0;

        string lUserLoginID = string.Empty;
        string lUserFirstName = string.Empty;
        string lUserLastName = string.Empty;

        #endregion  Variable & constant

        #region Constructor & Destructor
        #endregion Constructor & Destructor

        #region Properties

        [DataMember]
        public Int32 ContentKey
        {
            get
            {
                return lContentKey;
            }
            set
            {
                lContentKey = value;

            }
        }

        [DataMember]
        public string ContentCode
        {
            get
            {
                return lContentCode;
            }
            set
            {
                lContentCode = value;

            }
        }

        [DataMember]
        public string ContentName
        {
            get
            {
                return lContentName;
            }
            set
            {
                lContentName = value;

            }
        }

        [DataMember]
        public string ContentMetaTagKeyword
        {
            get
            {
                return lContentMetaTagKeyword;
            }
            set
            {
                lContentMetaTagKeyword = value;
            }
        }

        [DataMember]
        public string ContentMetaTagDescription
        {
            get
            {
                return lContentMetaTagDescription;
            }
            set
            {
                lContentMetaTagDescription = value;
            }
        }

        [DataMember]
        public string ContentHtmlData
        {
            get
            {
                return lContentHtmlData;
            }
            set
            {
                lContentHtmlData = value;
            }
        }

        [DataMember]
        public Int32 ContentTypeKey
        {
            get
            {
                return lContentTypeKey;
            }
            set
            {
                lContentTypeKey = value;

            }
        }

        [DataMember]
        public string ContentTypeCode
        {
            get
            {
                return lContentTypeCode;
            }
            set
            {
                lContentTypeCode = value;

            }
        }
        
        [DataMember]
        public string ContentTypeName
        {
            get
            {
                return lContentTypeName;
            }
            set
            {
                lContentTypeName = value;

            }
        }
        [DataMember]
        public Int32 ContentTotalDownloads
        {
            get
            {
                return lContentTotalDownloads;
            }
            set
            {
                lContentTotalDownloads = value;

            }
        }

        [DataMember]
        public Int32 ContentTotalLikes
        {
            get
            {
                return lContentTotalLikes;
            }
            set
            {
                lContentTotalLikes = value;

            }
        }

        [DataMember]
        public Int32 ContentTotalViews
        {
            get
            {
                return lContentTotalViews;
            }
            set
            {
                lContentTotalViews = value;

            }
        }

        [DataMember]
        public DateTime Sys_DateOfCreation
        {
            get
            {
                return lSys_DateOfCreation;
            }
            set
            {
                lSys_DateOfCreation = value;

            }
        }

        [DataMember]
        public string Sys_CreatedByID
        {
            get
            {
                return lSys_CreatedByID;
            }
            set
            {
                lSys_CreatedByID = value;

            }
        }

        [DataMember]
        public Int32 TotalVotes
        {
            get
            {
                return lTotalVotes;
            }
            set
            {
                lTotalVotes = value;

            }
        }

        [DataMember]
        public Int32 AvrageRating
        {
            get
            {
                return lAvrageRating;
            }
            set
            {
                lAvrageRating = value;

            }
        }

        [DataMember]
        public string UserLoginID
        {
            get
            {
                return lUserLoginID;
            }
            set
            {
                lUserLoginID = value;

            }
        }

        [DataMember]
        public string UserFirstName
        {
            get
            {
                return lUserFirstName;
            }
            set
            {
                lUserFirstName = value;

            }
        }

        [DataMember]
        public string UserLastName
        {
            get
            {
                return lUserLastName;
            }
            set
            {
                lUserLastName = value;

            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
